Method and apparatus for displaying multiple contexts in electronic documents

ABSTRACT

Methods and apparatus for simultaneously displaying multiple-contexts in a page-oriented viewing architecture utilize the concept of page pinning in which a portion of a first document context is displayed as a fixed frame overlayed on or placed beside the display of a second document context. A user may navigate within the second document context while viewing the portion of the first document context as a pinned page on the display. Thus, a single navigational focus is maintained even though multiple contexts are displayed in the page-oriented architecture. Page pinning may be used to view two non-contiguous locations in a single electronic document or to view two pages of respective different electronic documents. A pinned page can be used to hold a particular context while a command set is executed from a command document viewed as the second context. A pinned index page can used to provide a collection of links for permitting a user to navigate to different contexts, including pages within a main document or to other documents. Finally a pinned page can be used to provide the equivalent of an “always on top window” display.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of prior U.S. application Ser. No.09/556,865, filed Apr. 21, 2000, the entire contents of which isincorporated herein by reference.

TECHNICAL FIELD

The invention relates to methods and apparatus for displaying electronicdocuments. More particularly, the invention relates to methods andapparatus for displaying multiple contexts in electronic documents.

BACKGROUND OF THE INVENTION

With the proliferation of portable hand-held electronic devices, such aspersonal digital assistants (PDA's) and other personal electronicdevices, there has been considerable effort invested in thesimplification of a user's experience in viewing electronic content.Generally, a primary goal of such efforts has been to provide systemsfor presenting information to a user in a manner that is intuitivelysimple, yet which provides for efficient access to and navigation ofelectronic documents.

Known multiple-window architectures have limited appeal to thoseattempting to provide an intuitively simple system for presentinginformation to a user. While such architectures permit a user to displaymultiple contexts of electronic documents, they complicate the user'sexperience of electronic content. For example, the many menus, toolbars,scroll bars and command dialogues associated with known multiple-windowarchitectures detract from the user's ability to maintain anunderstanding of which content is the current focus of the system. Thatis, multiple-window architectures provide a multi-space navigationalenvironment in which each display context is provided with its own setof navigational controls and therefore, these architectures lack thesimplicity maintained by a single navigational focus. In a userinterface without a single navigational focus, there may be amultiplicity of navigational controls on the screen, some which affectone frame, some which affect another, and possibly some that effectnavigation between different of the frames. Because each frame needs itsown navigational controls, many identical controls are duplicated anddifferent frames may implement similar navigational features indifferent ways, or implement features in one frame that are notavailable in others, all depending on which application is running ineach frame. This creates both clutter as well as conceptual difficultyfor users. Thus, it is difficult for a user to maintain a clearunderstanding of which of a number of navigational environmentsdisplayed is the currently active one. This complicates the user'sexperience and often results in unnecessary duplication of sets ofnavigational controls.

In contrast to multiple-window architectures, page-orientedarchitectures offer simplicity derived from the maintenance of a singlenavigational focus at all times. These architectures treat allelectronic content as a document that can be paged through sequentially.Thus, the navigational focus is always very apparent to the user.Today's web browsers exhibit qualities of page-oriented architecturesinsofar as web pages are viewed individually in series as the usernavigates to different electronic document pages. Because they mimic thenavigational paradigm of a printed book and provide no confusion as tothe current navigational focus, page-oriented architectures provideusers with a very familiar and simple system for navigating electronicdocuments.

One drawback of strict page-oriented architectures, however, is thatthey do not permit the simultaneous viewing of multiple contexts ofelectronic documents. Multiple contexts would include, for example,non-contiguous pages of a single electronic document, or pages of twodifferent electronic documents. To illustrate this drawback of strictpage-oriented architectures, today's browsers do not permit simultaneousviewing of multiple contexts without resort to a multi-tasking,multiple-window environment in which more than one instance of thebrowser can be executed. Resort to multiple-window environments,however, results in a loss of the benefits of the single navigationalfocus of the page-oriented architecture.

It would therefore be desirable to provide apparatus and methods fordisplaying electronic documents that permits the simultaneous viewing ofmultiple contexts of electronic documents, while maintaining only asingle navigational focus. It would also be desirable to provideapparatus and methods for displaying electronic documents whicheliminates the complexity inherent in prior art systems that provide anavigational focus for each of the multiple contexts being displayed tothe user.

Another drawback of multiple-window architectures is that sucharchitectures do not always provide for the creation of a singlenavigational history. Each window maintains either its own navigationalhistory, or else no history (this depends on the application).Furthermore, the features and user interface for accessing andnavigating history differs among applications. For example, if the userruns two instances of a browser, each window has its own back/forwardhistory chain. If a user had visited documents 1, 2, and 3 in Window Aand 4, 5, and 6 in Window B, there would be no way to use theback/forward buttons in Window A to get to document 4, 5, or 6, because4, 5, and 6 are not in its navigation history. To allow access todocuments not in history, some browsers provide an address bar wheredocument addresses can be entered, and a search command that can locatecertain categories of documents (web pages).

Known applications provide other kinds of navigational facilities. Oneis a short list of recently used documents that are kept under a “File”menu. Another is the list of documents currently opened by thatapplication, which is kept under a “Window” menu. Both the File and theWindow menu can thus be used in lieu of forward/back buttons to navigateamong recently viewed documents. And of course, the lists of documentsunder these menus in different applications will be different, dependingon which documents the user has recently opened within each window. Someapplications also provide a File Open command where the names ofdocuments can be entered; this is analogous to but different from thebrowser address bar.

Thus, given a display of multiple windows, with the focus on one currentwindow, should the user wish to display a recently visited document,they must remember which window it had been opened in and put the focuson that window before they attempt to actually navigate to thatdocument. They must also deal with the different features and userinterfaces that the different applications provide for accomplishingthis navigation. Thus, it would be desirable to provide apparatus andmethods for displaying electronic documents that provides a singlenavigational history and a single, consistent user interface and set offeatures for performing navigation between documents.

SUMMARY OF THE INVENTION

The aforementioned problems are addressed by the invention, whichprovides apparatus and methods for permitting a user to view multiplecontexts using a page-oriented architecture while maintaining a singlenavigational focus. As used herein, the term “context” encompasses anyportion (one or more pages) of an electronic document. The term“multiple contexts” may refer either to plural portions of the sameelectronic document, or to respective portions of different electronicdocuments. The term “navigational focus” refers to the relationshipbetween a set of navigational controls in the user interface and theframe that will be affected if those controls are used. In a userinterface with a single navigational focus, there is only one set ofnavigational controls, there is no duplication of these controls on thescreen, and there is only one frame at a time on which all navigationalcontrols will act.

To accomplish viewing of multiple contexts, the invention introducesapparatus and methods for permitting a user to display a context as a“pinned” page overlayed on the display of another context. In anexemplary embodiment, the pinned page appears fixed in a region of thedisplay on top of or beside the main document. While navigating anelectronic book, for example, a user may “pin” a viewed page and therebyfix it on the display while the user continues navigating to othercontexts in the main document.

The invention contemplates the use of a pinned page to view twonon-contiguous locations in a single electronic document. The inventionalso contemplates the use of a pinned page to view two pages ofrespective different electronic documents. Still further, the inventioncontemplates the use of a pinned page to hold a particular context whilea command set is executed from another context. For example, when a userdesires to perform an action on a selected region or selected text in amain document, the user may open a quick reference sheet which appearson the display as the new main document while the document page with theselected region or selected text is automatically pinned. The inventionalso contemplates the use of a pinned page to provide a table of linksfor permitting a user to navigate to different pages within a maindocument or to different documents.

The ability to pin a page or portion of a first document contextfacilitates the maintenance of a single navigational focus whilemultiple contexts can be viewed. Pinning therefore permits the viewingof multiple contexts while maintaining simplicity in the user'snavigational experience. Importantly, a pinned page does not have thesame functionality of a prior art window inasmuch as a pinned page doesnot present the user with an additional navigational focus. Rather, apinned page is conceptually similar to a “viewport” into a firstdocument context which may be viewed while a second document contextremains the subject of the navigational focus. Thus, a pinned pagesimply provides a user with a viewport to another page of the samedocument or a different document, without detracting from the user'scurrent focus on navigation of the main document.

Another important aspect of page pinning according to the invention isthat page pinning permits the active document context to be changed bythe user, yet provides only one single navigational focus. Toillustrate, first imagine that a user may be viewing a user document intwo-page mode and then invoke the above-described quick reference sheet,thereby pinning the user document and shifting the navigational focus tothe quick reference sheet. Then, the user may wish to shift thenavigational focus back to the user document, for example, to select aregion of text abridging pages of the user document. Accordingly, theuser may pin the quick reference sheet and thereby shift thenavigational focus back to the user document to select the abridgingtext. Then the user may re-pin the user document shifting thenavigational focus back to the quick reference sheet to select a desiredoperation to be performed on the selected text.

The invention provides a single navigational focus to the user that isviewing multiple display contexts. Thus, one global set of navigationalcontrols may be used to navigate within all of the multiple contextsbeing displayed to the user. The elimination of duplicate and disparatenavigational controls is on advantage provided by the pinning modelaccording to the invention. The pinning model simplifies the userexperience while still providing the advantages of a multi-windowingsystem. In addition, the invention provides for any display context toact as a navigator for the context that has the navigational focus.

Page pinning according to the invention also eliminates the need for auser to manually manage multiple windows. The placement and sizing ofpinned frames is performed automatically and without requiringintervention by the user. Moreover, pinned frames automatically optimizethe presentation for side-by-side viewing. Since a user does not need tomanually size and place frames to create a readable display, the user'snavigational experience is simplified.

The page pinning mechanism provided according to the invention combines,in a single mechanism, the functionality that was previously availableonly through the use of a number of conventional and disparate userinterface mechanisms. For example, page pinning according to theinvention provides the functionality of a multiple windows userinterface used for side by side viewing of information. It also providesthe functionality of dialog windows for user interface/commandfunctions. The functionality of navigational panes, such as the searchpane provided by Internet Explorer browser developed by MicrosoftCorporation is also provided by the page pinning mechanism according tothe invention. Still further, the functionality of hierarchy panes whichare typically used to display files and mail stored in a folder systemand the functionality of “on top” frames for presenting “help”information to a user while the user navigates between documents isprovided by the page pinning mechanism according to the invention.

Thus, the page pinning mechanism according to the invention simplifiesthe user interface, while making it more powerful. For example, any kindof page can be pinned and utilized as a navigational pane, regardless ofwhat kind of page it is. A web page containing a set of useful links maybe pinned and used to navigate to each of the links without the userlosing sight of the page of links. Moreover, at any time in thenavigational experience by a user, the user is able to search, sort,filter, annotate or perform any of the other above-described functionson any kind of page. Previously, these many functions were not availableto the user at any time during the user's navigational experience.

The pinning model according to the invention also provides a singleunified navigational history and a single, consistent user interface andset of features for performing navigation between documents. Thus, apinned frame acts as a viewport onto some “past” node of the currentnavigation history, whereas the main document frame is a viewport ontothe “present” node, this being the node relative to which navigationactions happen. This is in contrast to the prior art, in which there isno unified history, and where each window constitutes its own closednavigational history and its own set of navigational features and userinterface controls.

For example, consider a situation where a user is viewing a document Ain the main frame and a document B in a pinned frame. Further assumethat there is a document C that in their use of the computer the userhas visited in the past. Because of the unified history, A, B, and C areall accessible via the history navigational mechanism (such as theback/forward buttons). Thus, while A is in the main frame, thenavigational controls can be used to navigate from A to either B or C.Likewise, suppose the user modifies the display to switch the states ofA and B so that A becomes pinned and B becomes the main document. Eventhough a different frame has become the main frame (it is the frame,containing B, that was previously pinned), the user is still able tonavigate from the active document in that frame (B) to either A or C.Note that because it is a common operation to switch the display stateto reverse which frame is pinned and which is the main frame, anon-screen control is provided that will perform this switch as a singleaction.

In summary, the above example shows that no matter which frame is heldas the current one, and no matter what document is displayed in thatframe, the user can navigate to any document that was ever viewed ineither frame, because all are part of the single, larger history.Regardless of which frame is the current one, the map of the navigationhistory will be the same. The on-screen frames act simply as viewportsinto the common history, with the distinction that the main frame is theone to which navigational controls and actions apply, and it is theframe whose displayed document is treated as the current or “main” one.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example in theaccompanying Figures, which should not be construed as limiting, inwhich:

FIG. 1 is a schematic block diagram of a conventional general-purposedigital computing environment that may be used to implement variousaspects of the present invention;

FIGS. 2A, 2B and 2C illustrate an exemplary computer display and userinterface for accomplishing page pinning according to the invention;

FIGS. 3A and 3B illustrate an exemplary computer display and userinterface for permitting a user to display the context of a commanddocument according to the invention;

FIG. 4 illustrates an exemplary computer display and user interface forpermitting a user to pin an index page according to the invention;

FIG. 5 is a schematic block diagram illustrating a pinned page objectand its relationship to a document according to the invention;

FIG. 6 is a flow diagram illustrating an exemplary method for pinning apage according to the invention;

FIG. 7 is a flow diagram illustrating an exemplary method for pinning acommand page according to the invention;

FIG. 8 is a flow diagram illustrating an exemplary method for pinning anindex page according to the invention;

FIG. 9 is a block diagram of an implementation of the present inventionon a computer-readable medium; and

FIGS. 10A-10E are schematic diagrams illustrating the use of the pagepinning mechanism of the present invention to view multiple contextswhile maintaining a unified navigational history.

DETAILED DESCRIPTION OF THE INVENTION

Although not required, the invention will be described in the generalcontext of computer-executable instructions, such as program modules,being executed by a personal computer. Generally, program modulesinclude routines, programs, objects, components, data structures, etc.,that perform particular tasks or implement particular abstract datatypes. Moreover, those skilled in the art will appreciate that theinvention may be practiced with other computer system configurations,including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics, network PCs,minicomputers, mainframe computers, and the like. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

FIG. 1 is a schematic diagram of a conventional general-purpose digitalcomputing environment that can be used to implement various aspects ofthe invention. FIG. 1 and the following discussion are intended toprovide a brief, general description of a suitable computing environmentin which the invention may be implemented.

With reference to FIG. 1, an exemplary system for implementing theinvention includes a general-purpose computing device in the form of aconventional personal computer 20, having a processing unit 21, a systemmemory 22, and a system bus 23 that couples various system componentsincluding the system memory to the processing unit 21. The system bus 23may be any of several types of bus structures including a memory bus ormemory controller, a peripheral bus, and a local bus using any of avariety of bus architectures. The system memory includes read onlymemory (ROM) 24 and random access memory (RAM) 25. A basic input/outputsystem 26 (BIOS), containing the basic routines that helps to transferinformation between elements within the personal computer 20, such asduring start-up, is stored in ROM 24.

The personal computer 20 further includes a hard disk drive 27 forreading from and writing to a hard disk (not shown). Also included are amagnetic disk drive 28 for reading from or writing to a removablemagnetic disk 29, and an optical disk drive 30 for reading from orwriting to a removable optical disk 31 such as a CD-ROM or other opticalmedia. The hard disk drive 27, magnetic disk drive 28, and optical diskdrive 30 are connected to the system bus 23 by a hard disk driveinterface 32, a magnetic disk drive interface 33, and an optical driveinterface 34, respectively. The drives and their associatedcomputer-readable media provide nonvolatile storage of computer readableinstructions, data structures, program modules and other data for thepersonal computer 20. Although the exemplary environment describedherein employs a hard disk, a removable magnetic disk 29 and a removableoptical disk 31, it should be appreciated by those skilled in the artthat other types of computer-readable media are contemplated by theinvention. For example, media which can store data that is accessible bya computer, such as magnetic cassettes, flash memory cards, digitalversatile disks, Bernoulli cartridges, random access memories (RAMs),read only memories (ROM), and the like, may also be used in theexemplary operating environment.

A number of program modules may be stored on the hard disk, magneticdisk 29, optical disk 31, ROM 24 or RAM 25, including an operatingsystem 35, one or more application programs 36, other program modules37, and program data 38. A user may enter commands and information intothe personal computer 20 through input devices such as a keyboard 40 andpointing device 42. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit21 through a serial port interface 46 that is coupled to the system bus,but may be connected by other interfaces, such as a parallel port, gameport or a universal serial bus (USB). A monitor 47 or other type ofdisplay device is also connected to the system bus 23 via an interface,such as a video adapter 48. One or more speakers 57 are also connectedto the system bus 23 via an interface, such as an audio adapter 56. Inaddition to the monitor and speakers, personal computers typicallyinclude other peripheral output devices (not shown), such as printers.

The personal computer 20 may operate in a networked environment usinglogical connections to one or more remote computers, such as remotecomputer 49. Each remote computer 49 may be another personal computer, aserver, a router, a network PC, a peer device or other common networknode, and typically includes many or all of the elements described aboverelative to the personal computer 20, although only a memory storagedevice 50 has been illustrated in FIG. 1. The logical connectionsdepicted in FIG. 1 include a local area network (LAN) 51 and a wide areanetwork (WAN) 52. Such networking environments are commonplace inoffices, enterprise-wide computer networks, intranets and the Internet.As depicted in FIG. 1, the remote computer 49 communicates with thepersonal computer 20 via the local area network 51. The remote computer49 communicates with the personal computer 20 via the wide area network52.

When used in a LAN networking environment, the personal computer 20 isconnected to the local network 51 through a network interface or adapter53. When used in a WAN networking environment, the personal computer 20typically includes a modem 54 or other means for establishingcommunications over the wide area network 52, such as the Internet. Themodem 54, which may be internal or external, is connected to the systembus 23 via the serial port interface 46. In a networked environment,program modules depicted relative to the personal computer 20, orportions thereof, may be stored in the remote memory storage device. Itwill be appreciated that the network connections shown are exemplary andother means of establishing a communications link between the computerscan be used. The existence of any of various well-known protocols, suchas TCP/IP, Ethernet, FTP, HTTP and the like, is presumed, and the systemcan be operated in a client-server configuration to permit a user toretrieve web pages from a web-based server. Any of various conventionalweb browsers can be used to display and manipulate data on web pages.

FIGS. 2A, 2B and 2C illustrate an exemplary computer and electronicdisplay for accomplishing page pinning according to the invention. Apersonal viewer 200 is provided with a case 202 which may house some orall of the components of the computer 20 described above relative toFIG. 1. Also housed within case 202 is a display 204 for presenting anelectronic document 210 to a user. Document 210 is displayed in atwo-page format in an appropriate frame 205 depicted on display 204.According to an exemplary feature of the invention, display 204 depictsa forward paging button 220 and a back paging button 222 for permittinga user to navigate through the main document 210 in a manner that mimicsthe paging through a printed book or magazine. Preferably, display 204incorporates a selection device that includes a touch-sensitive screenwhich enables a user to activate various controls depicted on thedisplay by simply touching the region of the display in which aparticular control appears. Alternatively, viewer 200 may be providedwith other forms of selection devices, including a stylus or pen foractivating particular controls depicted on display 204 or even a mouseand cursor arrangement as is known in the art.

Also depicted on display 204 are two pinning buttons 230, one for eachpage displayed. When pinning buttons 230 are selected by a user, as willbe described in more detail below, an appropriate signal is generated toinvoke a series of steps within the viewer 200 to display the selectedpage as a pinned page. Referring particularly now to FIG. 2B, when auser has selected the pinning button 230 associated with page 2 of thedisplayed document, a new frame 235 appears in display 204 containing apinned page 232, in this case page 2 of the document. Also appearing inframe 235 is a pinned page indicator 234 for denoting the pinned page tothe user. A control box 235 is depicted and contains two controls: amain document button 236, which permits the user to activate thedocument associated with the pinned page 232 as the main document to benavigated; and a close button 238 for enabling a user to dismiss thepinned page 232.

It will be recognized by those of ordinary skill that theabove-described presentation of a pinned page is merely exemplary andmay be modified without departing from the scope of the invention. Forexample, a pinned page could be presented as a floating pane above themain document, or the border of the pinned page could be outlined in aspecific color to denote that it is a pinned page

Significantly, the presence of pinned page 232 does not affect thenavigational focus, which currently remains with pages 1 and 2 of themain document 210, which appear beneath the pinned page 232. A user maynavigate through the main document by activating the forward pagingbutton 220 or the back paging button 222 and this focus is always clearto the user. Referring specifically now to FIG. 2C, after a user hasnavigated within the main document to a different context, in this casepages 9 and 10 of the main document, the pinned page 232 remainsdisplayed above or beside the main document, thereby permitting the userto view two non-contiguous portions of the same document whilemaintaining a single navigational focus

It will be recognized that the above-described viewing architecture willpermit a user to view pages of two different electronic documents. Inthat case a user would simply pin a desired page of a first document andthen navigate to a second document, which would appear beneath or besidethe pinned page 232. Although not illustrated, viewer 200 would beprovided with appropriate interface features to permit a user to selectand open a second document after pinning the desired page of the firstdocument.

FIGS. 3A and 3B illustrate an exemplary computer and electronic displayfor permitting a user to display the context of a command documentaccording to a primary feature of the invention. Display 204 depicts aQUICK SHEET button 310 for permitting a user to generate a commanddocument selection signal which, in a manner that will be explainedbelow, permits a user to execute general commands or commands whichimpact a target region of the main document. Although depicted as abutton outside of the main document context, button 310 couldalternatively be provided as a link within the main document context.Typically, a user may be viewing a first document context and desire toperform a command on a selected region 312 of a page in the firstdocument context. After selecting the appropriate region using theselection device, the user activates the QUICK SHEET button 310, whichgenerates a command document selection signal. In response to thecommand document selection signal, a page pinning signal is generated topin the page corresponding to the selected region 312. Then, a document320 comprising at least one command becomes the subject of thenavigational focus, permitting the user to navigate the document 320 andselect an appropriate command, such as CLIPPING or formatting commandswhich will affect the selected region or text 312. With respect to pagescomprising at least one command, such pages may include fill-in forms,such as a user-interface dialogue that accepts parameters in order toperform some action on a selected document. For example, a pinned pagecomprising at least one command might include a form for entry of a fontname and size with the entered parameters for font and size beingapplied to a selected region of text in a main document on which thecommand is to be performed.

It will be recognized that not all of the commands 322 require theselection of text or a region of a page. As illustrated, the document320 may list general commands, such as NEXT/PREVIOUS PAGE, BOOKMARKING,INSERT NOTE, PIN THIS PAGE, HIDE/SHOW ANNOTATIONS or PROPERTIES, thatmay provide navigational or annotating functions, for example. It willbe recognized that, since the document 320 is a navigable main document,a user may navigate through the document 320 to one of a number of pagesof commands, or may use the SEARCH command to search for command contentwithin the command document itself. Importantly, a single navigationalfocus is maintained throughout the display of the document 320 and theselection of a command from the document 320.

According to the above described embodiment, activation of the QUICKSHEET button 310 results in the document 320 becoming the subject of thenavigational focus, those of ordinary skill will recognize that thereverse implementation is within the scope of the invention. That is,activation of the QUICK SHEET button 310 could result in the document320 being pinned while the navigational focus remains with the firstdocument context.

The above implementation of pinning a document comprising at least onecommand illustrates one of the fundamental features of the invention:permitting the active document context to be changed by the user whilemaintaining only one single navigational focus. The user may be viewingthe first document in two-page mode and then invoke the quick referencesheet, thereby pinning the user document and shifting the navigationalfocus to the quick reference sheet. Then, the user may wish to shift thenavigational focus back to the user document, for example, to select aregion of text abridging pages of the user document. Accordingly, theuser may pin the quick reference sheet, thereby shifting thenavigational focus back to the user document to select the abridgingtext, then re-pin the user document shifting the navigational focus backto the quick reference sheet to select a desired operation to beperformed on the selected text. Thus, the active document context may bechanged by the user, but the single navigational focus remains apparentto the user at all times.

The invention also contemplates providing a control associated with eachcontext to permit a user to toggle the navigational focus betweencontexts. For example, a focus shift command icon may be incorporatedinto the border area of each display frame 205 (FIG. 2A) and 235 (FIG.2B). When a user activates the focus shift command icon in the borderarea of a pinned page, the currently active document will become pinnedand the currently pinned document will become the active document.Likewise, when a user activates the focus shift command icon in theborder area of the currently active document, the currently activedocument will become pinned and the pinned document will become theactive document.

FIG. 4 illustrates an exemplary computer and electronic display forpermitting a user to pin a page with an index and navigate a documentaccording to the invention. Main document 408 may include a page 410comprising at least a table of contents or an index including a numberof navigational links 412 to various sections of the main document 408.A user may navigate the main document 408 to the page 410 and thenselect the appropriate pinning button 230 to pin the page 410. Once thepage 410 is pinned, the user may select appropriate links thereon tonavigate the main document to a particular desired location. Note thatany page can be pinned in this way so that it will act as a navigatorfor the current document. As long as the pinned page has links on it,activating one of those links with the stylus, finger or mouse willcause the contents of the main document frame to navigate. For example,if a given page of a large document has many cross reference links ofinterest, the user may pin that page so that the variouscross-references can be conveniently explored. Thus, any document orcontext becomes a navigational tool to the user when the navigationalfocus is shifted, via page pinning, to that document or context.

It may be the case the pinned document contains links that span morethan one page and the user needs to view one of these other pages. Also,the user may wish to change what page is currently pinned. To do this,the user may use the focus shift control described earlier. This willswitch the roles of the two frames, making the pinned one become thecurrent frame and the (previously) current frame become the pinnedframe. The user may now navigate the (previously) pinned document to thedesired page or other document, and then use the focus shift controlagain to make the other document current again.

It will be recognized by those of ordinary skill in the art that thepinning mechanism of the invention may be applied to any kind of page ordocument and the particular pinning actions performed may be determinedby the properties of a particular link, whether the link represents acommand or a navigation action. In the case where the pinned pagecontains navigable links, the pinned page will function as a“navigating” page. In the case where the pinned page contains commands,the pinned page will function as a “command” page. Thus, utilization ofa particular page as a navigating page or command page according to theinvention does not require that the navigating page or command page beconstructed according to a particular format. Moreover, commands andnavigable links may appear on the same page. For example, a web pagewith navigable links could function as an index page for navigatingamong the set of destinations corresponding to its links, even thoughthe web page might also contain graphical command links or is otherwisenot constructed according to a conventional format of an index.

In accordance with another aspect of the invention, a “pin on follow”feature is provided. According to this feature, index documents, such asa user's e-mail inbox is first represented as a two-page display ofindex (in this case message) entries. The first time the user activatesone of the entries or links in the index, the index automaticallybecomes pinned and the linked-to document—the document corresponding tothe activated entry or link—is displayed and becomes the active context.Subsequently, the index acts as the navigational tool for the activecontext. The “pin on follow” feature provides two primary benefits: 1)the user is initially provided with a two-page or full screen view ofthe index, thereby permitting ease of navigation and other actions, suchas filtering or sorting; and 2) the automatic pinning of the index as anavigational tool saves the user the inconvenience of having to manuallypin the page comprising at least an index. And with the page comprisingat least an index now pinned, it is set up to provide a navigationalfunction that in the present art is provided by a feature called“navigation panes”. Unlike the prior art, the use of pinning requires nounique feature or set of user interface tools/techniques to provide thenavigation pane function.

It will be recognized by those of ordinary skill in the art that thenavigational architecture described above is equally applicable to othertypes of documents besides electronic books. For example, as presentedin the preceding paragraph, a system for viewing e-mail may be providedaccording to the same architecture, where the index may correspond to alisting of all available or new e-mail pages. By pinning the inbox, auser would be able to navigate to a selected e-mail simply by selectingthe appropriate link on the pinned page. As another example, web pagesthat today use HTML frames to contain lists of navigational links orother information could instead use pinned views. The benefit is thatthe user of a pinned view can at any time make it the main one so thatit can be viewed full screen, or alternatively may dismiss italtogether; these functions are not possible with HTML frames.

Those of ordinary skill will recognize that the invention provides anarchitecture which replaces the traditional user interface featurecommonly referred to as “always on top windows”. Help windows are anexample of a kind of window that is displayed as always on top in manyapplications. The objective of such architectures is to provide a meansto keep help information in view regardless of what kind of navigationactions the user may perform within an application. In known windowingarchitectures, if a document is displayed in one window and help inanother window, then depending on the relative size and position ofthose and other windows, the help window may become obscured if thealways-on-top features is not provided. The pinning model according tothe invention provides “always on top” behavior as an inherent featureof its design, so that a separate notion of “always on top” windows isnot needed. Thus, displaying “always on top” help is just anotherexample of the side by side viewing of different documents, with one ofthe documents being the help document (in the pinned frame) in thiscase.

FIG. 5 is a schematic block diagram illustrating a pinned page objectand its relationship to a document according to the invention. Memory510, which may include system memory 22 (FIG. 1), or any of the storagedevices depicted in FIG. 1, includes at least one document 520 storedtherein and containing a number of pages, 1 through n. When a userprovides a page pinning signal to pin a selected page of the displayedmain document, a pinned page object 512 is created in memory 510. Pinnedpage object 512 includes a pointer 514, which is a reference to aparticular page and document corresponding to the page for which thepinning signal has been provided. Pinned page object 512 may alsocontain display attributes 516 which may include parameters such asframe size and location on the screen and which govern the display ofthe pinned page on the screen. Those of ordinary skill in the art willrecognize that the command page pinning features of the invention resultin similar pinned page objects 512 in memory 510. This stems primarilyfrom the treatment of all navigable contexts as documents. Thus, thecommand page is merely a page of an electronic document that containsappropriate links or shortcuts to executable commands.

FIG. 6 is a flow diagram illustrating an exemplary method for pinning apage according to the invention. The process begins at step 602 where afirst document context is displayed according to display routines storedin memory. After display of the main document and as a user navigatesthe main document, the process continually or periodically checks forthe presence of a pinning signal at step 604. If no signal is received,step 604 repeats. If a pinning signal is received, the process proceedsto step 606 where the pinned page object 512 (FIG. 5) is created,including a pointer to the page that is desired to be displayed. At step607, a heuristic determination is made as to which main document contextis to be displayed. As will be explained in more detail below, theinvention contemplates heuristics to govern what should appear as themain document. In the simplest case, the main document context at step607 will be the same context displayed at step 602. However, as will beexplained in more detail below, different document contexts may becomethe main document context at step 607 depending on various heuristicdeterminations. The process then proceeds to step 608, where the pinnedpage is displayed within the appropriate frame overlayed on the currentdocument context. The current document context may correspond to thesame document containing the pinned page, or the current documentcontext may be a new document opened by the user. The process thenbranches to step 612 where a determination is made as to whether anavigation command is received. If so, the process proceeds to step 610and the appropriate context of the main document is displayed beneaththe pinned page. The process then branches back to step 612. If, at step612, it is determined that no navigation command is received, theprocess next determines at step 616 if a close signal is received forthe pinned page. If not, the process branches back to step 612. If so,step 614 is executed, the pinned page is dismissed from the display andthe revealed portion of the main document is redrawn at step 618.

As described generally above, step 607 represents a heuristicdetermination of the main document context to be displayed. In thesimplest case, the main document context determined at step 607 will bethe same context displayed in step 602. However, at step 607, adifferent document context may be determined for display in which casethe pinned page overlayed at step 608 will be overlayed on a documentcontext that is different from the one displayed in step 602. Forexample, the main document context to be displayed might correspond toone from which a pinned page had been pinned from before. In otherwords, the association of a pinned document to a main document isremembered so that the same state can be automatically restored whenappropriate upon the pinning of a previously pinned document.

As another example, when the user is viewing a main document with theQuick sheet or other page comprising at least one command pinned, theymay unpin the Quick sheet in order to navigate among various pages eachcomprising at least one command. Having navigated to a desired pagecomprising at least one command, the user may pin that desired page.Rather than the main document continuing to show a page of the documentcomprising at least one command, the main document navigates back toshow the document that was in view as main when the Quick sheet wasoriginally unpinned. Thus, the user has the effect of unpinning in orderto navigate among commands, and then repinning, so that the desired newpage comprising at least one command is automatically presented incontext with the user content the new page will operate on. As a result,the user is saved from the work of manually navigating back to the userdocument after having first navigated through the document comprising atleast one command to find a needed command.

Yet another example would involve comparing two documents side by side.While viewing a first document, the first document is pinned so a seconddocument can be viewed side by side. After navigating the seconddocument to the desired page, the first document is unpinned so it toocan be navigated to a desired page. Repinning the first documentautomatically brings back the previously viewed page of the seconddocument in the main document frame, so the original side by sideviewing context is restored. There may be other heuristics that governthe decision of what to display as the main document when a pinningsignal is received. For example, when tapping a link that opens a userinterface form (equivalent to a dialog box in prior art), the currentdocument remains as the main document. The form is simply opened as apinned document without changing the main document.

FIG. 7 is a flow diagram illustrating an exemplary method for pinning apage comprising at least one command according to the invention. Theprocess begins at step 702 where the first document context is displayedaccording to display routines stored in memory. After display of themain document and as a user navigates the main document, the processcontinually or periodically checks for the presence of a commanddocument selection signal at step 704. If no signal is received, step704 repeats. If a command document selection signal is received, theprocess proceeds to step 705 where a pinned page object is createdincluding a pointer to the page corresponding to the target context—thecontext upon which the user desires to perform a command. At this point,the target document is still the subject of the current navigationalfocus. Then, at step 706, the command document is displayed under thenavigational focus. At step 708, the pinned page is displayed within aframe overlayed on the command document context.

The process then branches to step 712 where a determination is made asto whether a navigation command is received. If so, the process proceedsto step 710 and the appropriate context of the command document, isdisplayed beneath or beside the pinned page. The process then branchesback to step 712. If, at step 712, it is determined that no navigationcommand is received, the process next determines at step 716 if acommand has been selected by the user. If so, the command is executed onthe target context at step 714. If, however, at step 716, no command isinput by the user, the process branches back to step 712.

If at step 716, it is determined that no command is selected, theprocess then determines whether a close signal has been received at step720. If so, the navigational focus reverts to the target context at step726 and the pinned page is dismissed at step 728.

FIG. 8 is a flow diagram illustrating an exemplary method for pinning anindex page and for implementing a pin-on-follow feature according to theinvention. The pin-on-follow feature is logic that causes certain pages,such as a page comprising at least an index or a table of contents, tobe pinned when one of the links they contain is followed. The processbegins at step 802 where the first document context, including an index,is displayed according to display routines stored in memory. At step804, a determination is made as to whether an index pinning signal hasbeen received. If so, the process branches to step 806, where a pinnedpage object, including a pointer to the page comprising at least anindex is created. Then, at step 808, the page comprising at least anindex is displayed within the appropriate frame overlayed on the maindocument context according to conventional display techniques.

The process then branches to step 812 where a determination is made asto whether a navigation command is received or whether a link isselected. If so, the process proceeds to step 814 where a determinationis made as to whether a link was selected and whether the selected linkis within the current context. If not, at step 818 the system navigatesto the appropriate document context at step 818. If at step 814 it isdetermined that the link is within the current context, the processbranches to step 816 where a determination is made as to whether thelink is a pin-on-follow link. This can be determined by evaluating theproperties of the link, or the properties of the page containing thelink or the properties of the document or other system information. Ifat step 816 it is determined that the link is a pin-on-follow link, theprocess at step 820 pins the current context and navigates to thecontext specified by the link and the process returns to step 812. If,on the other hand, at step 816 it is determined that the link is not apin-on-follow link, the appropriate context is navigated to at step 818and the process returns to step 812.

Those of ordinary skill in the art will recognize the processes depictedin FIGS. 7 and 8 have been explained separately for the purposes ofclarity to illustrate that different steps may be performed depending onwhether a user input signal represents the selection of a documentcomprising at least one command or selection of a page comprising atleast an index or a table of contents, however, the invention is notlimited thereto. In the present invention, decisions that affect pinningbehavior, such as whether to do pin-on-follow, are based on inspectingproperties associated with the link that was activated. These propertiesmay be hard-coded on the link, determined based on the type of the link,and/or inherited from other sources, such as the page that the link iscontained on.

FIG. 9 is a block diagram of an implementation of the present inventionon a computer-readable medium. A computer-readable medium 900 mayinclude any of the storage elements depicted in FIG. 1, including RAM,ROM, magnetic storage media, such as floppy disks or internal harddisks, optical storage media or memory cards. Computer-readable medium900 includes a signal receiving component 902 for receiving signalscorresponding to user activation of controls, i.e., soft buttons,displayed on display 204 (FIG. 2) or controls implemented in hardware,i.e., hard buttons integrated into the personal viewer case 202. Thesignal receiving component 902 receives as input a command documentselection signal, navigation signals, page pinning signals and closingsignals when appropriate hard or soft controls are executed by the user.Command document selection signals and navigation signals are conveyedfrom the signal receiving component 906 to the main document displaycomponent and processed thereby to govern the main document display.Page pinning signals and closing signals are conveyed to and processedby the pinned page display component 904 to govern the display of thepinned page.

FIGS. 10A-10E illustrate the use of page pinning to permit a user toview different document contexts while maintaining a single, unifiednavigational history according to yet another aspect of the invention.FIGS. 10A-10C depict three respective document contexts that aredisplayed as a user navigates. FIG. 10A represents a first documentcontext “A” appearing in a main frame “M” and FIG. 10B represents asecond document context “B” appearing in the main frame “M” to which auser navigates using a navigational control, such as a back/forwardbutton or by selecting an appropriate link in the “A” context, forexample. The navigational history created by this navigation isrepresented on the far right side of FIG. 10B. FIG. 10C represents thedisplay after the “B” context has been pinned in a pinned frame “P” anda third document context “C” has been navigated to. The navigationalhistory is now represented as A-B-C as shown in the far right side ofFIG. 10C.

Significantly, the page pinning mechanism according to the invention,because a pinned page acts as a “viewport” on a previous context in thenavigational history, enables a user to view any previously viewedcontext without modifying the navigational history, which remainsunified. As illustrated in FIG. 10D, a user may modify the display toswitch the states of the contexts shown in FIG. 10C, by activating anavigational control, for example. Thus, context “C” becomes the pinnedcontext and context “B” is displayed in the main frame “M” which is thesubject of the navigational focus. Notably, this state change does notchange the navigational history, which remains as it was before thestate change. Thus, a user may navigate from the “B” context to the “A”context as shown in FIG. 10E, yet the navigational history remainsunchanged. Moreover, the navigational history is maintained regardlessof which context is currently displayed in the main frame or the pinnedframe. This is because both the pinned frame and main frame act asviewports on the navigational history, with the main frame being thecontext to which navigational controls are applied.

Although the invention has been described above, it should beappreciated that a variety of modifications will be readily available topersons utilizing the invention. The foregoing description is notintended to be limiting, but is merely illustrative of an exemplaryadaptation of the invention. Other products, apparatus and methods thatincorporate modifications or changes to that which has been describedherein are equally included within this application. For example, itwill be apparent to artisans of ordinary skill that the invention isequally applicable to various document display architectures, includingpage-oriented architectures and scrolling-oriented architectures,wherein scrolling bars rather than “next page” or “forward/backward”controls are associated with the display frames. Moreover, althoughdescribed in the context of viewing two documents or contextssimultaneously, the invention contemplates the viewing of more than twodocuments or contexts simultaneously, while maintaining a singlenavigational context.

1. In a computer system having a user interface, including a display anda selection device, a method of displaying multiple contexts ofelectronic documents comprising the steps of: displaying a firstdocument context which is the subject of a single navigational focus;and displaying a second document context simultaneously with the firstdocument context while maintaining the single navigational focus,wherein at least one other document context is accessible by navigationfrom the first document context and at least one other document contextis accessible by navigation from the second document context.
 2. Themethod of claim 1, wherein the first and second document contexts arenon-contiguous parts of the same electronic document.
 3. The method ofclaim 1, wherein the first and second document contexts are parts ofdifferent electronic documents.
 4. The method of claim 1, furthercomprising the step of receiving a page pinning signal input by a user,and wherein the step of displaying the second document context occurs inresponse to the page pinning signal.
 5. The method of claim 1, whereinthe step of displaying the second document context comprises displayinga document comprising at least one command in response to a commanddocument display signal input by a user, the method further comprisingthe step of permitting a user to select a command from the at least onecommand in the document.
 6. The method of claim 5, wherein the commanddocument display signal automatically initiates a page pinning signalthat results in the display of the first document context as a pinnedpage overlayed on the document comprising at least one command.
 7. Themethod of claim 5, wherein the command display signal automaticallyinitiates a page pinning signal that results in the display of thedocument comprising at least one command as a pinned page overlayed onthe first document.
 8. The method of claim 1, further comprising thestep of displaying a link in the first document context, the linkspecifying the second document context, and in response to userselection of the link, automatically pinning the first document contextand navigating to the second document context and shifting thenavigational focus to the second document context.
 9. The method ofclaim 1, wherein the step of displaying the second document contextcomprises displaying a page comprising at least an index and wherein theindex is provided with at least one link, the method further comprisingthe step of pinning the page comprising at least an index and displayinga context corresponding to a link selected by the user from the index.10. The method of claim 1, wherein the step of displaying the seconddocument context further comprises the steps of: receiving a pagepinning signal from a user; and in response to the page pinning signal,displaying a viewport to the first document context as a pinned pageoverlayed on the second document context.
 11. The method of claim 1,wherein the step of displaying the second document context comprises thestep of displaying an index having at least one link and a correspondingcontext associated with each link.
 12. The method of claim 11, furthercomprising the step of displaying a third document context in responseto a user selecting a corresponding link.
 13. A computer-readable mediumhaving computer-executable components for performing a method ofdisplaying multiple contexts of electronic documents, the methodcomprising the steps of: displaying a first document context which isthe subject of a single navigational focus; and displaying a seconddocument context simultaneously with the first document context whilemaintaining the single navigational focus, wherein at least one otherdocument context is accessible by navigation from the first documentcontext and at least one other document context is accessible bynavigation from the second document context.
 14. The computer-readablemedium of claim 13, wherein the first and second document contexts arenon-contiguous parts of the same electronic document.
 15. Thecomputer-readable medium of claim 13, wherein the first and seconddocument contexts are parts of different electronic documents.
 16. Thecomputer-readable medium of claim 13, further comprising the step ofreceiving a page pinning signal input by a user, and wherein the step ofdisplaying the second document context occurs in response to the pagepinning signal.
 17. The computer-readable medium of claim 13, whereinthe step of displaying the second document context comprises displayinga document comprising at least one command in response to a commanddocument display signal input by a user, the method further comprisingthe step of permitting a user to select a command from the at least onecommand in the document.
 18. The computer-readable medium of claim 17,wherein the command document display signal automatically initiates apage pinning signal that results in the display of the first documentcontext as a pinned page overlayed on the document comprising at leastone command.
 19. The computer-readable medium of claim 17, wherein thecommand display signal automatically initiates a page pinning signalthat results in the display of the document with at least one command asa pinned page overlayed on the first document.
 20. The computer-readablemedium of claim 13, further comprising the step of displaying a link inthe first document context, the link specifying the second documentcontext, and in response to user selection of the link, automaticallypinning the first document context and navigating to the second documentcontext and shifting the navigational focus to the second documentcontext.
 21. The computer-readable medium of claim 13, wherein the stepof displaying the second document context comprises displaying a pagewith an index, wherein the index is provided with at least one link, themethod further comprising the step of pinning the page comprising anindex and displaying a context corresponding to a link selected by theuser from the index page.
 22. The computer-readable medium of claim 13,wherein the step of displaying the second document context comprises thestep of displaying an index having at least one link and a correspondingcontext associated with each link.
 23. The computer-readable medium ofclaim 22, further comprising the step of displaying a third documentcontext in response to a user selecting a corresponding link.
 24. Thecomputer-readable medium of claim 13, wherein the step of displaying thesecond document context further comprises the steps of: receiving a pagepinning signal from a user; and in response to the page pinning signal,displaying a viewport to the first document context as a pinned pageoverlayed on the second document context.
 25. In a computer systemhaving a user interface, including a display and a selection device, amethod of displaying multiple contexts of electronic documentscomprising the steps of: displaying a first document context which isthe subject of a single navigational focus; navigating the firstdocument to a first document context within the navigational focus;receiving a page pinning signal; in response to the page pinning signal,displaying at least a portion of the first context as a pinned pageoverlayed on the first context while maintaining the single navigationalfocus; displaying a second document context within the singlenavigational focus; and navigating the second document while the pinnedpage remains displayed.
 26. The method of claim 25, wherein the firstand second document contexts are non-contiguous parts of the sameelectronic document.
 27. The method of claim 25, wherein the first andsecond document contexts are parts of different electronic documents.28. The method of claim 25, wherein the step of receiving a page pinningsignal further comprises receiving an input by a user selection device.29. The method of claim 25, wherein the step of displaying the seconddocument context comprises the step of displaying a document comprisingat least one command in response to a command document display signalinput by a user.
 30. The method of claim 29, wherein the page pinningsignal is initiated automatically in response to the input of thecommand document display signal.
 31. The method of claim 30, furthercomprising the step of selecting a command from the document comprisingat least one command.
 32. The method of claim 25, further comprising thestep of selecting a region in the first document context in which acommand is to be performed.
 33. The method of claim 25, wherein the stepof displaying the second document context comprises the step ofdisplaying a page comprising at least an index for permitting a user tonavigate other documents. 34 The method of claim 33, wherein the indexis provided with at least one link, the method further comprising thestep of pinning the page with the index and displaying the firstdocument context corresponding to a link selected by the user from theindex.
 35. The method of claim 25, wherein the step of displaying thesecond document context comprises the step of displaying an index havingat least one link and a corresponding context associated with each link.36. The method of claim 35, further comprising the step of displaying athird document context in response to a user selecting a correspondinglink.
 37. In a computer system having a user interface, including adisplay and a selection device, a method of displaying multiple contextsof electronic documents, the method comprising the steps of:successively displaying a plurality of document contexts to create aunified navigational history; and displaying two of the documentcontexts simultaneously without changing the unified navigationalhistory.